package edu.gatech.oad.antlab.person;

/**
 *  A simple class for person 1
 *  returns their name and a
 *  modified string 
 *  
 *  @author Abimbola Olajubutu
 *  @version 1.1
 */
public class Person1 {
	
  /** Holds the persons real name */
  private String name;
  
  	/**
	 * The constructor, takes in the persons 
	 * name..
	 * @param pname the person's real name
	 */
  public Person1(String pname) {
    name = pname;
  }
  
  	/**
	 * This method should take the string
	 * input and return its characters rotated
	 * 2 positions.
	 * given "gtg123b" it should return
	 * "g123bgt".
	 *
	 * @param input the string to be modified
	 * @return the modified string
	 */
	private String calc(String input) {
	  //Person 1 put your implementation here
		if(input.isEmpty()){
			return "";
		}else{
			char lstChar = input.charAt(0); 

			//first rotation of letters to the left.
			String lstRotation = "";
			int length = input.length();
			for(int x = 1; x < length; x++){
				lstRotation = lstRotation + input.charAt(x); 
			}
			//We stored 1st char to append to new String after first rotation
			lstRotation = lstRotation + lstChar;//we now 

			//Second rotation of chars to the left. Length of lstRotation is same as initial String input
			char firstChar = lstRotation.charAt(0);
			String rotation2 = " ";
			for(int x = 1; x < length; x++){
				rotation2 = rotation2 + lstRotation.charAt(x);		
			}
			rotation2 = rotation2 + firstChar;

			return rotation2;
		
		}
	}
	
	/**
	 * Return a string rep of this object
	 * that varies with an input string
	 *
	 * @param input the varying string
	 * @return the string representing the 
	 *         object
	 */
	public String toString(String input) {
	  return name + calc(input);
	}

}
